Universal collaborative pseudo-realistic viewer

ABSTRACT

A computer-readable medium containing instructions for controlling an electronic device to perform a method of visualization, the method constituted of: loading a 3 dimensional (3D) scene comprising visual model data; rendering a first pseudo-realistic image of the loaded 3D scene responsive to a first view positional indicator; transmitting the rendered first pseudo-realistic image to at least two remote computing platforms; receiving from any of the at least two remote computing platform a scene control command; rendering a second pseudo-realistic image of the loaded 3D scene responsive to the received scene control command; and transmitting the rendered second pseudo-realistic image to the at least two remote computing platforms.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from U.S. Provisional PatentApplication 61/100,734 filed Sep. 28, 2008, entitled “Pseudo-RealisticRendering of BIM Data Responsive to Positional Indicator”, the entirecontents of which is incorporated herein by reference.

BACKGROUND

The invention relates generally to the field of visual modeling, and inparticular to a method and apparatus providing collaborativepseudo-realistic rendering of a visual model responsive to user inputs.

Building information modeling is the process of generating and managingbuilding data during its life cycle. Typically it usesthree-dimensional, dynamic building modeling software to increaseproductivity in building design and construction. The term buildingdesign and construction is not limited to physical dwellings and/oroffices, but is meant to additionally include any construction projectincluding, without limitation, road and infrastructure projects. Theprocess produces a Building Information Model (BIM), which as usedherein comprises building geometry, spatial relationships, geographicinformation, and quantities and properties of building components,irrespective of whether we are dealing with a physical building or ageneral construction project including land development andinfrastructure.

The use of interactive and dynamic 3D computer graphics is becomingprevalent in the computing world. Typically, 3D visualizationapplications provide photo-realistic results using techniques such asray tracing, radiosity, global illumination and other shading, shadowingand light reflection techniques. Such 3D visualization applicationsprovide a 3D generated model, without relationship to the existingenvironment.

U.S. patent application Ser. No. 11/538,103 to Elsberg et al, entitled“Method and Apparatus for Virtual Reality Presentation of CivilEngineering, Land Planning and Infrastructure”, published as US2007/0078636 A1, the entire contents of which is incorporated herein byreference, is addressed to a computer implemented method of visualizingan infrastructure, in which the rendering is accomplished in cooperationwith a material definition. Such a method allows for evaluating largescale designs in a virtual reality environment, in which the virtualreality rendering exhibits a pseudo-realistic image, defined herein asan image which comprises at least one of shading, texturing,illumination and shadowing based on real world parameters.

Rapid Design Visualization is a software application available from RDVSystems, Ltd. of Lod, ISRAEL, which enables any Civil 3D user to createa fully interactive visualization environment directly from their Civil3D project. Civil 3D is a software BIM solution for the field of civilengineering available from Autodesk, Inc. of San Rafael, Calif. TheRapid Design Visualization software enables a Civil 3D designer toeasily create drive through simulations, flyovers and interactivesimulations for proposed roads, subdivisions, undergroundinfrastructure, interchanges and many other complex land developmentprojects. Such an interactive simulation enables a potential user,developer, or investor, to visualize a Civil 3D project in an officeenvironment.

The above discussion has been primarily focused on BIM applications,however this is not meant to be limiting in any way, and is equallyapplicable to any visual model data.

Freewheel software available from Autodesk, Inc. of San Rafael, Calif.,provides the ability to upload design data to a remote server. Any userallowed access can then utilize a variety of navigation tools to reviewthe design. Advantageously, no software download is required, since therequirement to download and install software is an often unbridgeablebarrier in today's IT environment. Disadvantageously, collaborativetools are not provided.

What is desired, and not provided by the prior art is a method andapparatus providing full active collaboration for any visual model,preferably without requiring a software download and installation.

SUMMARY

Accordingly, it is a principal object of the present invention toovercome at least some of the disadvantages of prior art collaborativevisualization techniques. This is accomplished in certain embodiments byproviding a server comprising a computer-readable medium containinginstructions for controlling an electronic device to perform a method ofvisualization, the method comprising: loading a 3 dimensional (3D) scenecomprising visual model data; rendering a first pseudo-realistic imageof the loaded 3D scene responsive to a first view positional indicator;transmitting the rendered first pseudo-realistic image to at least tworemote computing platforms; receiving from any of the at least tworemote computing platforms a scene control command; rendering a secondpseudo-realistic image of the loaded 3D scene responsive to the receivedscene control command; and transmitting the rendered secondpseudo-realistic image to the at least two remote computing platforms.

Thus, the server is arranged to provide a full active collaborativeinteractive viewing experience between disparate devices. The termactive collaboration is meant to include wherein various users maysimultaneously interact with the 3D model, with interaction displayed toall of the various users. In an exemplary embodiment, one of thecomputing platforms is a cellular telephone, and another of thecomputing platforms is a portable computer. Either of the devices canprovide input to the shared collaborative viewing experience. In oneparticular embodiment, a third computing platform is provided, the thirdcomputing platform arranged to generate the 3D scene internallyresponsive to positional indicator information.

In certain embodiments a computer-readable medium containinginstructions for controlling an electronic device to perform a method ofvisualization is provided, the method comprising: loading a 3dimensional (3D) scene comprising visual model data; rendering a firstpseudo-realistic image of the loaded 3D scene responsive to a first viewpositional indicator; transmitting the rendered first pseudo-realisticimage to at least two remote computing platforms; receiving from any ofthe at least two remote computing platforms a scene control command;rendering a second pseudo-realistic image of the loaded 3D sceneresponsive to the received scene control command; and transmitting therendered second pseudo-realistic image to the at least two remotecomputing platforms.

In certain further embodiments the scene control command comprises asecond view positional indicator different from the first viewpositional indicator. In certain yet further embodiments, the methodfurther comprises: performing an analysis of at least one criteria ofthe visual model data responsive to the each of the first and secondpositional indicators; and transmitting at least one result of theperformed analysis in concert with the respective transmitted renderedfirst and second pseudo-realistic images.

In certain embodiments the scene control command comprises one ofturning off at least one object of the 3D scene, changing illuminationof at least a portion of the 3D scene and changing a material type forat least one object of the 3D scene. In yet other certain embodimentsthe scene control command comprises a highlight indicator.

In certain embodiments the first pseudo-realistic image exhibits anadjustable field of view, and wherein the rendered firstpseudo-realistic image presents a view frustum responsive to the firstview positional indicator and the adjustable field of view. In othercertain embodiments the rendering of the first and secondpseudo-realistic image comprises at least two of shading, texturing,illumination and shadowing responsive to real time orientationinformation in respect to latitude, longitude and elevation.

In certain embodiments at least one of the transmitted rendered firstpseudo-realistic image and the transmitted rendered secondpseudo-realistic image comprises an omni-directional view. In othercertain embodiments the visual model data is provided in a selectableone of a plurality of formats. In yet other certain embodiments thecomputer readable medium is embeddable into a web site.

Independently a server comprising a computing device and a communicationmodule is enabled, the computing device arranged to: load a 3dimensional (3D) scene comprising visual model data; render a firstpseudo-realistic image of the loaded 3D scene responsive to a first viewpositional indicator; transmit the rendered first pseudo-realistic imagevia the communication module to at least two remote computing platforms;receive, via the communication module, from any of the at least tworemote computing platform a scene control command; render a secondpseudo-realistic image of the loaded 3D scene responsive to the receivedscene control command; and transmit the rendered second pseudo-realisticimage to the at least two remote computing platforms.

In certain embodiments the scene control command comprises a second viewpositional indicator different from the first view positional indicator.In certain further embodiments the computing device is further arrangedto: perform an analysis of at least one criteria of the visual modeldata responsive to each of the first and second positional indicators;and transmit at least one result of the performed analysis to the atleast two remote computing platforms in concert with the respectivetransmitted rendered first and second pseudo-realistic images.

In certain embodiments the scene control command comprises one of:turning off at least one object of the 3D scene, changing illuminationof at least a portion of the 3D scene and changing a material type forat least one of object of the 3D scene. In other certain embodiments thescene control command comprises a highlight indicator.

In certain embodiments the first pseudo-realistic image exhibits anadjustable field of view, and wherein the rendered firstpseudo-realistic image presents a view frustum responsive to the firstview positional indicator and the adjustable field of view. In othercertain embodiments the rendering of the first and secondpseudo-realistic image comprises at least two of shading, texturing,illumination and shadowing responsive to real time orientationinformation in respect to latitude, longitude and elevation.

In certain embodiments at least one of the transmitted rendered firstpseudo-realistic image and the transmitted rendered secondpseudo-realistic image comprises an omni-directional view. In othercertain embodiments the visual model data is provided in a selectableone of a plurality of formats.

Independently a computer-readable medium containing instructions forcontrolling an electronic device to perform a method of visualization,is enabled, the method comprising: loading a 3 dimensional (3D) scenecomprising visual model data; rendering a pseudo-realistic image of theloaded 3D scene responsive to a first view positional indicator, thepseudo-realistic image comprising an omni-directional view; andtransmitting the rendered pseudo-realistic image to at least two remotecomputing platforms.

Additional features and advantages of the invention will become apparentfrom the following drawings and description.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention and to show how the same maybe carried into effect, reference will now be made, purely by way ofexample, to the accompanying drawings in which like numerals designatecorresponding elements or sections throughout.

With specific reference now to the drawings in detail, it is stressedthat the particulars shown are by way of example and for purposes ofillustrative discussion of the preferred embodiments of the presentinvention only, and are presented in the cause of providing what isbelieved to be the most useful and readily understood description of theprinciples and conceptual aspects of the invention. In this regard, noattempt is made to show structural details of the invention in moredetail than is necessary for a fundamental understanding of theinvention, the description taken with the drawings making apparent tothose skilled in the art how the several forms of the invention may beembodied in practice. In the accompanying drawings:

FIG. 1 illustrates a high level block diagram of a system providinguniversal collaborative visualization in accordance with an exemplaryembodiment;

FIG. 2 illustrates a rendered pseudo-realistic image in which aplurality of highlights, or indicators, each associated with aparticular device of FIG. 1 is depicted;

FIG. 3 illustrates a high level flow chart of a method of operation ofthe server of FIG. 1 to perform a method of visualization; and

FIG. 4 illustrates a high level flow chart of a method of operation ofthe server of FIG. 1 to perform a method of visualization comprising anomni-directional view on demand.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not limited in its applicationto the details of construction and the arrangement of the components setforth in the following description or illustrated in the drawings. Theinvention is applicable to other embodiments or of being practiced orcarried out in various ways. Also, it is to be understood that thephraseology and terminology employed herein is for the purpose ofdescription and should not be regarded as limiting.

FIG. 1 illustrates a high level block diagram of a system 10 providinguniversal collaborative visualization in accordance with an exemplaryembodiment, system 10 comprising: a server 20 comprising a processor 30,a memory 40, a communication module 50 and a 3D scene storage 60; anetwork 70; a mobile computing platform 80 comprising a processor 30, acommunication module 50, a display 90 and a user input device 100; areal time position determining device 110; a computer 120 comprising aprocessor 30, a communication module 50, a display 90 and a user inputdevice 100; and a mobile station 150 comprising a processor 30, acommunication module 50, a display 90 and a user input device 100.

Processor 30 of server 20 is in communication with memory 40, 3D scenestorage 60 and communication module 50 of server 20. Real time positiondetermining device 110 is in communication with mobile computingplatform 80, and in particular with processor 30 thereof. Processor 30of mobile computing platform 80 is in communication with each ofcommunication module 50, display 90 and user input device 100 thereof.Processor 30 of computer 120 is in communication with each ofcommunication module 50, display 90 and user input device 100 thereof.Processor 30 of mobile station 150 is in communication with each ofcommunication module 50, display 90 and user input device 100 thereof.In one embodiment, network 70 is a combination of a General Packet RadioService (GPRS) and the Internet, however this is not meant to belimiting in any way. Network 70 generally comprises a communicationnetwork arranged to enable electronic communication between server 20and each of mobile computing platform 80, computer 120 and mobilestation 150, via the respective communication module 50. The action ofeach user input device 100 is preferably communicated to server 20, andparticularly to processor 30 of server 20 via the respectivecommunication module 50. In one non-limiting example, mobile station 150comprises a cellular telephone, a personal digital assistant, or a handheld computer, each of which meets the definition of a computing device.Server 20 is illustrated as a stand alone server, however this is notmeant to be limiting in any way. In an exemplary embodiment server 20 isimplemented on a cloud computing platform, in which a dynamicallyscalable and often virtualized resource is provided as a service overthe Internet. Preferably, operation of the method of server 20 isembeddable in a web site. Mobile station 150 is an example of a limitingviewing device, since mobile station 150 is incapable of rendering apseudo-realistic view of a complex 3D scene.

In operation, responsive to a command received from a first one ofmobile computing platform 80, computer 120 and mobile station 150,processor 30 of server 20 is operative responsive to computer readableinstructions stored on memory 40 to load a 3D scene comprising virtualmodel data from 3D scene storage 60. The virtual model data ispreferably supported in a plurality of formats. In one non-limitingembodiment, the 3D scene comprises Building Information Model (BIM)data. Processor 30 of server 20 is further operative to render apseudo-realistic image of the loaded 3D scene, responsive to a firstview positional indicator. In one particular embodiment, the first viewpositional indicator is a default positional indicator. Preferably, therendered pseudo-realistic image exhibits an adjustable field of view,and the rendered pseudo-realistic image presents a view frustumresponsive to the first view positional indicator. Preferably, therendering of the pseudo-realistic image comprises at least two ofshading, texturing, illumination and shadowing responsive to real timeorientation information in respect to latitude, longitude and elevation.The rendered pseudo-realistic image is preferably stored in memory 40,is preferably further associated with a session ID, and is transmittedto the source of the received command via the respective communicationmodules 50 and network 70. For ease of understanding, we willhereinafter term the first one of mobile computing platform 80, computer120 and mobile station 150 which transmitted the command the initiatingclient.

In one embodiment the 3D scene is rendered in accordance with theteachings of U.S. patent application Ser. No. 11/538,103 to Elsberg etal, entitled “Method and Apparatus for Virtual Reality Presentation ofCivil Engineering, Land Planning and Infrastructure”, published as US2007/0078636 A1, incorporated above by reference. In another embodimentthe 3D scene is developed via photogrammetry, from existingarchitectural plans and land survey information, via light detecting andranging (LIDAR) and/or from existing or developed geographic informationsystem (GIS) data.

The initiating client is further provided with the session ID. In oneembodiment, the initiating client shares the session ID with another oneor more of mobile computing platform 80, computer 120 and mobile station150, such as by e-mail, SMS or any other form of communication.

Any of mobile computing platform 80, computer 120 and mobile station150, in addition to the initiating client, responsive to the receivedsession ID, may link to server 20. In an exemplary embodiment, each ofmobile computing platform 80, computer 120 and mobile station 150 isprovided with the opportunity to download and install software whichwill enable on-board generation of the pseudo-realistic images, oralternatively to avoid installation of software. It is known to thoseskilled in the art that installation of software often requiresprivileges which may not be easily obtained by the average corporateuser, and thus the ability to avoid installation of software whilemaintaining a collaborative viewing experience is particularlyadvantageous.

Server 20, responsive to the provided session ID received from any ofmobile computing platform 80, computer 120 and mobile station 150, isoperative to transmit the rendered pseudo-realistic image, as indicatedabove preferably stored in memory 40, associated with the providedsession ID, to the source of the provided session ID. Thus, both theinitiating client, and one or more additional clients are provided withthe same rendered pseudo-realistic image.

A user of any of mobile computing platform 80, computer 120 and mobilestation 150, connected via the provided session ID, now interacts viathe respective user input device 100, thus requesting a second viewpositional indicator, different than the first view positionalindicator. Alternatively, or additionally, a user of any of mobilecomputing platform 80, computer 120 and mobile station 150, connectedvia the provided session ID, now interacts via the respective user inputdevice 100 to request a scene control, such as one or more of turningoff at least one object of said 3D scene, changing the transparency ofat least one object of said 3D scene, changing illumination of at leasta portion of said 3D scene and changing a material type for at least oneobject of said 3D scene. In an exemplary embodiment, turning of at leastone element comprises adjusting the transparency of the at least oneelement to 100%. Adjusting the transparency, or turning off of at leastone element, provides the user with extraordinary visual perception.Alternatively, sight conditions of the display 3D scene may be adjustedso as to provide a simulation of reduced visibility conditions such asfog.

Responsive to the received request for a second view positionalindicator or other scene control, processor 30 of server 20 is operativeto render a second pseudo-realistic image of the loaded 3D scene. Thesecond rendered pseudo-realistic image is preferably stored in a cacheportion of memory 40, preferably further associated with the session ID,and is transmitted via the respective communication modules 50 andnetwork 70 to each of mobile computing platform 80, computer 120 andmobile station 150, connected via the provided session ID for display onthe respective display 90. In one embodiment, the second renderedpseudo-realistic image is immediately transmitted only to the initiatingclient, and one or more additional clients are maintained in a looprequesting at each iteration if there is an updated image in the memory40 associated with the present session ID. In the event that there is anupdated image in the memory 40 associated with the present session ID,processor 30 of server 20 is arranged to transmit the updated image viathe respective communication module 50 and network 70.

In the event that any of mobile computing platform 80, computer 120 andmobile station 150 have downloaded and installed software which enableson-board generation of the pseudo-realistic images, as described above,and is available from, inter alia, RDV Systems of Lod, Israel, the 3Dscene loaded by processor 30 of server 20 is further provided to the oneof mobile computing platform 80, computer 120 and mobile station 150that downloaded and installed the software, thus the pseudo-realisticview is locally generated by the local processor 30 for display on therespective display 90. In one embodiment the above mentioned receivedrequest for a second view positional indicator or other scene control istransmitted by processor 30 of server 20 to the one or more of mobilecomputing platform 80, computer 120 and mobile station 150 which hasdownloaded and installed the image generation software. Thus, receipt ofthe actual rendered pseudo-realistic image is not required by the one ormore of mobile computing platform 80, computer 120 and mobile station150 which has downloaded and installed the image generation software,since the pseudo-realistic image is generated locally by the respectiveprocessor 30 for display on the respective display 90.

In an embodiment wherein real time positioning determining device 110 issupplied, changes in the physical position of real time positioningdetermining device 110 are transmitted to server 20 via the respectivecommunication module 50 and network 70 as a scene control command.Alternatively, only the actual position of real time positioningdetermining device 110 is highlighted, or otherwise indicated on therendered pseudo-realistic image transmitted by server 20 and received byany of mobile computing platform 80, computer 120 and mobile station 150connected by the provided session ID.

In one embodiment, the pseudo-realistic image is rendered furtherresponsive to chronographic information associated with real timepositioning determining device 110. Thus, the rendered pseudo-realisticimage exhibits shadowing responsive to a calculated position of the sun;correct for the latitude, longitude, elevation and local time receivedfrom real time position determining device 110.

In one embodiment the 3D scene comprises at least one dynamic object,whose motion may optionally be set to be fixed. Thus, in a non-limitingexample, a vehicle having a predetermined speed of travel may bedisplayed in the pseudo-realistic scene. In the event that the user'sactual travel, in the real world, as indicated by real time positioningdetermining device 110, matches the predetermined speed the user will beseen to be maintaining pace in relation to the dynamic object vehicle.

Preferably, any one or more of mobile computing platform 80, computer120 and mobile station 150 connected by the provided session ID mayindicate a point of interest via the respective user input device 100.The coordinates of the indicated point of interest are transmitted toserver 20 via the respective communication module 50 and network 70, andthe rendered pseudo-realistic image is updated with a highlight, orother indicator. Preferably the highlight or other indicator is uniqueto the session ID/particular one of mobile computing platform 80,computer 120 and mobile station 150 connected by the provided sessionID, such as a by providing a particular color for each of mobilecomputing platform 80, computer 120 and mobile station 150 connected bythe provided session ID.

Referring to FIG. 2, the above is further illustrated, in which aplurality of highlights, or indicators, 200, each associated with aparticular one of mobile computing platform 80, computer 120 and mobilestation 150 are illustrated. Each of the indicators are different, witha first one of indicators 200 being marked by a vertical/horizontalcross hatch, a second one of indicators 200 being marked by a diagonalcross hatch and a third one of indicators 200 being marked by a diagonalpattern.

In one non-limiting embodiment, the coordinates of the indicated pointof interest are transmitted to server 20 along with informationregarding the width and height of the respective display 90 of the oneof mobile computing platform 80, computer 120 and mobile station 150connected by the provided session ID indicating the point of interestvia the respective user input device 100. The coordinates are associatedwith the highlight, or other indicator, and transmitted to each ofmobile computing platform 80, computer 120 and mobile station 150connected by the provided session ID, which are operative to interpolatethe position of the highlight, or other indicator based on the relativedimensions of the respective display 90 associated with the one ofmobile computing platform 80, computer 120 and mobile station 150indicating the point of interest and the dimensions of the display 90 ofthe receiving one of mobile computing platform 80, computer 120 andmobile station 150. Thus, the highlight or other indicator is displayedat the appropriate location of the rendered pseudo-realistic image atthe receiving one of mobile computing platform 80, computer 120 andmobile station 150 connected by the provided session ID indicating thepoint of interest.

In one non-limiting embodiment, the transmitted renderedpseudo-realistic image is transmitted with an omni-directional view. Inparticular, server 20 generates an image that can be applied to aspherical mapping, which represents the view of the renderedpseudo-realistic image in all directions as seen from the current viewposition indicator. The transmitted images are mapped by a respectiveprocessor 30 of any of mobile computing platform 80, computer 120 andmobile station 150 connected by the provided session ID on a spheresurrounding the current view position. Thus, any of mobile computingplatform 80, computer 120 and mobile station 150 connected by theprovided session ID are able to rotate the direction of the view andlook at any portion without requiring further downloaded information.

In one non-limiting embodiment, processor 30 of server 20 is furtheroperative to perform an analysis of at least one criteria of the visualmodel data loaded from 3D scene storage 60, responsive to each viewpositional indicator. Processor 30 of server 20 is further operative totransmit at least one result of the performed analysis in concert withthe transmitted rendered pseudo-realistic images. In a non-limitingembodiment, the criteria is sight distance, as described in publishedU.S. Patent Application S/N US 2008/0021680 published Jan. 24, 2008 toElsberg et al., entitled “Method and Apparatus for Evaluating SightDistance”, the entire contents of which is incorporated herein byreference.

The above system 10 thus enables active collaboration in real timebetween disparate users, which may be geographically widely separated.In one embodiment, voice communication, or chat communication, isfurther enabled between the actively collaborating users, to enable realtime communication and collaboration. Preferably, the one of mobilecomputing platform 80, computer 120 and mobile station 150 initiatingthe scene command, is further provided with an indication of the successof transmission to all other users.

FIG. 3 illustrates a high level flow chart of the method of operation ofserver 20 of FIG. 1 to perform a method of visualization. In stage 1000a 3D scene comprising virtual model data is loaded. Preferably, the 3Dscene is stored in one of a large plurality of formats. In onenon-limiting embodiment, the 3D scene comprises Building InformationModel (BIM) data.

In stage 1010 a first pseudo-realistic image of the loaded 3D scene isrendered, responsive to a first view positional indicator. In oneparticular embodiment, the first view positional indicator is a defaultpositional indicator. Preferably, the rendered pseudo-realistic imageexhibits an adjustable field of view, and the rendered pseudo-realisticimage presents a view frustum responsive to the first view positionalindicator. Preferably, the rendering of the pseudo-realistic imagecomprises at least two of shading, texturing, illumination and shadowingresponsive to real time orientation information in respect to latitude,longitude and elevation, as described further below in relation to stage1070.

In one embodiment the 3D scene is rendered in accordance with theteachings of U.S. patent application Ser. No. 11/538,103 to Elsberg etal, entitled “Method and Apparatus for Virtual Reality Presentation ofCivil Engineering, Land Planning and Infrastructure”, published as US2007/0078636 A1, incorporated above by reference. In another embodimentthe 3D scene is developed via photogrammetry, from existingarchitectural plans and land survey information, via light detecting andranging (LIDAR) and/or from existing or developed geographic informationsystem (GIS) data.

In stage 1020, the rendered first pseudo-realistic image of stage 1010is transmitted to at least two remote computing platforms. In onenon-limiting embodiment, as described above, coordination between thevarious remote computing platforms is accomplished responsive to asession ID. Optionally, in the event that one or more of the computingplatforms has downloaded imaging rendering software, the loaded 3D sceneof stage 1000 is further transmitted.

In stage 1030, a scene control command, generated at any of the at leasttwo remote computing platforms, is received. The scene control commandis in one embodiment a second view positional indicator, different fromthe first view positional indicator of stage 1010. In anotherembodiment, the scene control command comprises one or more of turningoff at least one object of said 3D scene, changing the transparency ofat least one object of said 3D scene, changing illumination of at leasta portion of said 3D scene and changing a material type for at least oneobject of said 3D scene. In an exemplary embodiment, turning off atleast one element comprises adjusting the transparency of the at leastone element to 100%. Adjusting the transparency, or turning off of atleast one element, provides the user with extraordinary visualperception. Alternatively, sight conditions of the display 3D scene maybe adjusted so as to provide a simulation of reduced visibilityconditions such as fog. In yet another embodiment, the scene controlcommand comprises a highlight indicator.

In stage 1040, responsive to the received scene control command of stage1030, a second pseudo-realistic image is rendered, in a manner in allrespects similar to that described above in relation to stage 1010. Instage 1050, the rendered second pseudo-realistic image of stage 1040 istransmitted to the at least two remote computing platforms. In onenon-limiting embodiment, as described above, coordination between thevarious remote computing platforms is accomplished responsive to asession ID. Optionally, in the event that one or more of the computingplatforms has downloaded imaging rendering software, the received scenecontrol command is further transmitted, so that computing platformswhich have downloaded the image rendering software can locally renderthe second pseudo-realistic image.

In optional stage 1060, an analysis of at least one criterion of thevisual model data loaded comprising the 3D scene of stage 1000 isperformed, responsive to each view positional indicator, or scenecontrol command. Preferably, at least one result of the performedanalysis is transmitted in concert with the transmitted renderedpseudo-realistic images.

In optional stage 1070 the rendering of the pseudo-realistic imagecomprises at least two of shading, texturing, illumination and shadowingresponsive to real time orientation information in respect to latitude,longitude and elevation. In one embodiment, at least one of the remotecomputing platforms is associated with a real time positioning deviceand/or chronographic information, and the rendering is responsive toinformation from at least one of the real time positioning device andchronographic information. Alternatively, the chronographic informationis developed in a separate device from the computing platform associatedwith the real time positioning device. The rendered pseudo-realisticimage exhibits shadowing responsive to a calculated position of the sun;correct for the latitude, longitude, elevation and local time receivedfrom the real time positioning device.

In optional stage 1080, at least one of the transmitted rendered imagesof stage 1020 and 1050 is transmitted with an omni-directional view. Inparticular, an image is generated that can be applied to a sphericalmapping, which represents the view of the rendered pseudo-realisticimage in all directions as seen from the current view positionindicator. Thus, any of the at least two remote mobile computingplatforms are able to rotate the direction of the view and look at anyportion without requiring further downloaded information.

In optional stage 1090, the above method is preferably furtherembeddable in a web site.

FIG. 4 illustrates a high level flow chart of a method of operation ofserver 20 of FIG. 1 to perform a method of visualization comprising anomni-directional view on demand.

In stage 2000 a 3D scene comprising virtual model data is loaded.Preferably, the 3D scene is stored in one of a large plurality offormats. In one non-limiting embodiment, the 3D scene comprises BuildingInformation Model (BIM) data.

In stage 2010 a first pseudo-realistic image of the loaded 3D scene isrendered, responsive to a first view positional indicator. In oneparticular embodiment, the first view positional indicator is a defaultpositional indicator. Preferably, the rendered pseudo-realistic imageexhibits an adjustable field of view, and the rendered pseudo-realisticimage presents a view frustum responsive to the first view positionalindicator. Preferably, the rendering of the pseudo-realistic imagecomprises at least two of shading, texturing, illumination and shadowingresponsive to real time orientation information in respect to latitude,longitude and elevation, as described further above in relation to stage1070 of FIG. 3.

In one embodiment the 3D scene is rendered in accordance with theteachings of U.S. patent application Ser. No. 11/538,103 to Elsberg etal, entitled “Method and Apparatus for Virtual Reality Presentation ofCivil Engineering, Land Planning and Infrastructure”, published as US2007/0078636 A1, incorporated above by reference. In another embodimentthe 3D scene is developed via photogrammetry, from existingarchitectural plans and land survey information, via light detecting andranging (LIDAR) and/or from existing or developed geographic informationsystem (GIS) data.

In stage 2020, the rendered first pseudo-realistic image of stage 2010is transmitted to a remote computing platform. In one non-limitingembodiment, the remote computing platform comprises one of a mobilecomputer, a fixed workstation, a cellular telephone, a personal digitalassistant and a hand held computer. In stage 2030, a scene controlcommand generated by the remote compute platform is received. The scenecontrol command is in one embodiment a second view positional indicator,different from the first view positional indicator of stage 2010. Inanother embodiment, the scene control command comprises one or more ofturning off at least one object of said 3D scene, changing thetransparency of at least one object of said 3D scene, changingillumination of at least a portion of said 3D scene and changing amaterial type for at least one object of said 3D scene. In an exemplaryembodiment, turning off at least one element comprises adjusting thetransparency of the at least one element to 100%. Adjusting thetransparency, or turning off of at least one element, provides the userwith extraordinary visual perception. Alternatively, sight conditions ofthe display 3D scene may be adjusted so as to provide a simulation ofreduced visibility conditions such as fog. In yet another embodiment,the scene control command comprises a highlight indicator.

In stage 2040, responsive to the received scene control command of stage2030, a second pseudo-realistic image is rendered, in a manner in allrespects similar to that described above in relation to stage 2010. Instage 2050, the rendered second pseudo-realistic image of stage 2040 istransmitted to the remote computing platform.

In optional stage 2060, an animation request is received from the remotecomputing platform. In one non-limiting embodiment, the animationrequest is associated with a predefined animated camera path associatedwith the rendered 3D scene of stage 2000. The animation is generated andstreamed to the remote computing platform. Preferably the animation ispre-generated and indexed with positional information as a relation totimestamps in the animation.

In stage 2070, a request for an omni-directional view is received fromthe remote computing platform associated with a particular viewpositional indicator. In a non-limiting embodiment, in which optionalstage 2060 is implemented, the view positional indicator is determinedresponsive to a stop, or pause, request received at a position in thestreamed animation of stage 2060.

In stage 2080, an omni-directional view is generated at the particularview positional indicator of stage 2070, by rendering a plurality ofviews representing the 3D scene in all directions at the particular viewpositional indicator of stage 2070. In stage 2090, the renderedplurality of views representing the generated omni-directional view atthe particular view positional indicator of stage 2070 is transmitted tothe remote computing platform.

Thus, certain of the present embodiments enable an electronic device toperform a method of visualization, the method comprising: loading a 3dimensional (3D) scene comprising visual model data; rendering a firstpseudo-realistic image of the loaded 3D scene responsive to a first viewpositional indicator; transmitting the rendered first pseudo-realisticimage to at least two remote computing platforms; receiving from any ofthe at least two remote computing platforms a scene control command;rendering a second pseudo-realistic image of the loaded 3D sceneresponsive to the received scene control command; and transmitting therendered second pseudo-realistic image to the at least two remotecomputing platforms.

The server is thereby arranged to provide a collaborative interactiveviewing experience between disparate devices. In an exemplaryembodiment, one of the computing platforms is a cellular telephone, andanother of the computing platforms is a portable computer. Either of thedevices can provide input to the shared collaborative viewingexperience. In one particular embodiment, a third computing platform isprovided, the third computing platform arranged to generate the 3D sceneinternally responsive to positional indicator information.

It is appreciated that certain features of the invention, which are, forclarity, described in the context of separate embodiments, may also beprovided in combination in a single embodiment. Conversely, variousfeatures of the invention which are, for brevity, described in thecontext of a single embodiment, may also be provided separately or inany suitable sub-combination.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meanings as are commonly understood by one of ordinaryskill in the art to which this invention belongs. Although methodssimilar or equivalent to those described herein can be used in thepractice or testing of the present invention, suitable methods aredescribed herein.

All publications, patent applications, patents, and other referencesmentioned herein are incorporated by reference in their entirety. Incase of conflict, the patent specification, including definitions, willprevail. In addition, the materials, methods, and examples areillustrative only and not intended to be limiting.

It will be appreciated by persons skilled in the art that the presentinvention is not limited to what has been particularly shown anddescribed hereinabove. Rather the scope of the present invention isdefined by the appended claims and includes both combinations andsub-combinations of the various features described hereinabove as wellas variations and modifications thereof, which would occur to personsskilled in the art upon reading the foregoing description.

1. A computer-readable medium containing instructions for controlling anelectronic device to perform a method of visualization, the methodcomprising: loading a 3 dimensional (3D) scene comprising visual modeldata; rendering a first pseudo-realistic image of said loaded 3D sceneresponsive to a first view positional indicator; transmitting saidrendered first pseudo-realistic image to at least two remote computingplatforms; receiving from any of said at least two remote computingplatform a scene control command; rendering a second pseudo-realisticimage of said loaded 3D scene responsive to said received scene controlcommand; and transmitting said rendered second pseudo-realistic image tosaid at least two remote computing platforms.
 2. The computer-readablemedium of claim 1, wherein said scene control command comprises a secondview positional indicator different from said first view positionalindicator.
 3. The computer-readable medium of claim 2, wherein saidmethod further comprises: performing an analysis of at least onecriterion of said visual model data responsive to each of said first andsecond positional indicators; and transmitting at least one result ofsaid performed analysis in concert with said respective transmittedrendered first and second pseudo-realistic images.
 4. Thecomputer-readable medium of claim 1, wherein said scene control commandcomprises one of turning off at least one object of said 3D scene,changing illumination of at least a portion of said 3D scene andchanging a material type for at least one of object of said 3D scene. 5.The computer-readable medium of claim 1, wherein said scene controlcommand comprises a highlight indicator.
 6. The computer-readable mediumof claim 1, wherein said first pseudo-realistic image exhibits anadjustable field of view, and wherein said rendered firstpseudo-realistic image presents a view frustum responsive to said firstview positional indicator and said adjustable field of view.
 7. Thecomputer-readable medium of claim 1, wherein said rendering of saidfirst and second pseudo-realistic image comprises at least two ofshading, texturing, illumination and shadowing responsive to real timeorientation information in respect to latitude, longitude and elevation.8. The computer-readable medium of claim 1, wherein at least one of saidtransmitted rendered first pseudo-realistic image and said transmittedrendered second pseudo-realistic image comprises an omni-directionalview.
 9. The computer-readable medium of claim 1, wherein said visualmodel data is provided in a selectable one of a plurality of formats.10. The computer-readable medium of claim 1, wherein the computerreadable medium is embeddable into a web site.
 11. A server comprising acomputing device and a communication module, said computing devicearranged to: load a 3 dimensional (3D) scene comprising visual modeldata; render a first pseudo-realistic image of said loaded 3D sceneresponsive to a first view positional indicator; transmit said renderedfirst pseudo-realistic image via said communication module to at leasttwo remote computing platforms; receive, via said communication module,from any of said at least two remote computing platforms a scene controlcommand; render a second pseudo-realistic image of said loaded 3D sceneresponsive to said received scene control command; and transmit saidrendered second pseudo-realistic image to said at least two remotecomputing platforms.
 12. The server of claim 11, wherein said scenecontrol command comprises a second view positional indicator differentfrom said first view positional indicator.
 13. The server of claim 12,wherein said computing device is further arranged to: perform ananalysis of at least one criterion of said visual model data responsiveto each of said first and second positional indicators; and transmit atleast one result of said performed analysis to said at least two remotecomputing platforms in concert with said respective transmitted renderedfirst and second pseudo-realistic images
 14. The server of claim 11,wherein said scene control command comprises one of turning off at leastone object of said 3D scene, changing illumination of at least a portionof said 3D scene and changing a material type for at least one object ofsaid 3D scene.
 15. The server of claim 11, wherein said scene controlcommand comprises a highlight indicator.
 16. The server of claim 11,wherein said first pseudo-realistic image exhibits an adjustable fieldof view, and wherein said rendered first pseudo-realistic image presentsa view frustum responsive to said first view positional indicator andsaid adjustable field of view.
 17. The server of claim 11, wherein saidrendering of said first and second pseudo-realistic images comprises atleast two of shading, texturing, illumination and shadowing responsiveto real time orientation information in respect to latitude, longitudeand elevation.
 18. The server of claim 11, wherein at least one of saidtransmitted rendered first pseudo-realistic image and said transmittedrendered second pseudo-realistic image comprises an omni-directionalview.
 19. The server of claim 11, wherein said visual model data isprovided in a selectable one of a plurality of formats.
 20. Acomputer-readable medium containing instructions for controlling anelectronic device to perform a method of visualization, the methodcomprising: loading a 3 dimensional (3D) scene comprising visual modeldata; rendering a pseudo-realistic image of said loaded 3D sceneresponsive to a first view positional indicator, said pseudo-realisticimage comprising an omni-directional view; and transmitting saidrendered pseudo-realistic image to at least two remote computingplatforms.